/**
 * 基础代码
 * @author rxliuli
 */
class SysBaseCode {
    /**
     * 构造函数
     * @param {Object} [option] 可选参数
     * @param {Number} [option.id] 主键，键值
     * @param {String} [option.type] 类型
     * @param {String} [option.name] 名称
     * @param {String} [option.status] 状态， 1: 启用，2：禁用
     * @param {Integer} [option.order] 排序
     * @param {Number} [option.parent] 父类，填同一个类型下面其他配置项的键值，如果填写的不对，直接赋值：0
     * @param {Number} [option.code] 代码
     * @param {Number} [option.comments] 备注
     * @param {...Object} [option.args] 其他参数
     */
    constructor({
                    id,
                    type,
                    name,
                    status,
                    order,
                    parent,
                    code,
                    comments,
                    ...args
                } = {}) {
        this.id = id
        this.type = type
        this.name = name
        this.status = status
        this.order = order
        this.parent = parent
        this.code = code
        this.comments = comments
        Object.assign(this, args)
    }
}